<meta charset="UTF-8">"
<div style="padding: 30px;background-color: white;box-shadow: 0px 0px 5px black;margin: 20px;border-radius: 10px;">

<h3>代码文档 - DBAPI 类</h3>

<h4>类定义</h4>

<p><code>DBAPI</code> 是一个用于与远程数据库服务器交互的类，提供了设置登录信息、发送命令以及一系列数据库操作的方法。</p>

<h4>属性</h4>

<ul><li><code>username</code>: 登录用户名（默认为 <code>null</code>）。</li><li><code>password</code>: 登录密码（默认为 <code>null</code>）。</li></ul>

<h4>方法</h4>

<ol><li><p><strong>set_login(username, password)</strong><br/>设置登录信息。</p><ul><li><p>参数：</p><ul><li><code>username</code>: 用户名字符串。</li><li><p><code>password</code>: 密码字符串。</p></li></ul></li></ul></li><li><p><strong>send_command(command)</strong><br/>异步发送命令到远程服务器，并返回响应数据。</p><ul><li>参数：<ul><li><code>command</code>: 命令字符串。</li></ul></li><li><p>返回：</p><ul><li><p>Promise 对象，解析后得到服务器响应的 JSON 数据。</p></li></ul></li></ul></li><li><p><strong>invoke_api(username, password, command, callback)</strong><br/>调用 API 并在回调中处理结果。</p><ul><li><p>参数：</p><ul><li><code>username</code>: 用户名字符串。</li><li><code>password</code>: 密码字符串。</li><li><code>command</code>: 命令字符串。</li><li><p><code>callback</code>: 回调函数，接收服务器响应数据作为参数。</p></li></ul></li></ul></li><li><p><strong>show_databases(callback)</strong><br/>显示所有数据库。</p><ul><li><p>参数：</p><ul><li><p><code>callback</code>: 回调函数，接收包含数据库列表的响应数据。</p></li></ul></li></ul></li><li><p><strong>list<em>databases(db</em>name, callback)</strong><br/>列出特定数据库中的所有数据表。</p><ul><li><p>参数：</p><ul><li><code>db_name</code>: 数据库名称字符串。</li><li><p><code>callback</code>: 回调函数，接收包含数据表列表的响应数据。</p></li></ul></li></ul></li><li><p><strong>create<em>database(db</em>name, callback)</strong><br/>创建数据库。</p><ul><li><p>参数：</p><ul><li><code>db_name</code>: 数据库名称字符串。</li><li><p><code>callback</code>: 回调函数，接收创建数据库后的响应数据。</p></li></ul></li></ul></li><li><p><strong>delete<em>database(db</em>name, callback)</strong><br/>删除数据库。</p><ul><li><p>参数：</p><ul><li><code>db_name</code>: 数据库名称字符串。</li><li><p><code>callback</code>: 回调函数，接收删除数据库后的响应数据。</p></li></ul></li></ul></li><li><p><strong>show<em>data</em>keys<em>from</em>database(data<em>name, db</em>name, callback)</strong><br/>显示数据库中数据表的所有键。</p><ul><li><p>参数：</p><ul><li><code>data_name</code>: 数据表名称字符串。</li><li><code>db_name</code>: 数据库名称字符串。</li><li><p><code>callback</code>: 回调函数，接收包含键列表的响应数据。</p></li></ul></li></ul></li><li><p><strong>get<em>key</em>value<em>from</em>database(data<em>name, key, db</em>name, callback)</strong><br/>获取数据表中特定键的值。</p><ul><li><p>参数：</p><ul><li><code>data_name</code>: 数据表名称字符串。</li><li><code>key</code>: 键名字符串。</li><li><code>db_name</code>: 数据库名称字符串。</li><li><p><code>callback</code>: 回调函数，接收包含键值的响应数据。</p></li></ul></li></ul></li><li><p><strong>update<em>key</em>value<em>in</em>database(data<em>name, key, value, db</em>name, callback)</strong><br/>更新数据表中特定键的值。</p><ul><li><p>参数：</p><ul><li><code>data_name</code>: 数据表名称字符串。</li><li><code>key</code>: 键名字符串。</li><li><code>value</code>: 新值字符串。</li><li><code>db_name</code>: 数据库名称字符串。</li><li><p><code>callback</code>: 回调函数，接收更新后的响应数据。</p></li></ul></li></ul></li><li><p><strong>delete<em>key</em>value<em>from</em>database(data<em>name, key, db</em>name, callback)</strong><br/>从数据表中删除特定键。</p><ul><li><p>参数：</p><ul><li><code>data_name</code>: 数据表名称字符串。</li><li><code>key</code>: 键名字符串。</li><li><code>db_name</code>: 数据库名称字符串。</li><li><p><code>callback</code>: 回调函数，接收删除后的响应数据。</p></li></ul></li></ul></li><li><p><strong>search<em>databasename</em>from<em>database(search</em>string, callback)</strong><br/>搜索数据库名称。</p><ul><li><p>参数：</p><ul><li><code>search_string</code>: 搜索字符串。</li><li><p><code>callback</code>: 回调函数，接收搜索结果。</p></li></ul></li></ul></li><li><p><strong>insert<em>data</em>in<em>database(data</em>name, data, db_name, keys, callback)</strong><br/>向数据表中插入数据。</p><ul><li><p>参数：</p><ul><li><code>data_name</code>: 数据表名称字符串。</li><li><code>data</code>: 数据对象。</li><li><code>db_name</code>: 数据库名称字符串。</li><li><code>keys</code>: 键值对字符串，如 <code>&quot;key1=1,key2=2&quot;</code>。</li><li><p><code>callback</code>: 回调函数，接收插入后的响应数据。</p></li></ul></li></ul></li><li><p><strong>create<em>key</em>to<em>database(data</em>name, key<em>name, db</em>name, callback)</strong><br/>在数据表中创建新键。</p><ul><li><p>参数：</p><ul><li><code>data_name</code>: 数据表名称字符串。</li><li><code>key_name</code>: 键名字符串。</li><li><code>db_name</code>: 数据库名称字符串。</li><li><p><code>callback</code>: 回调函数，接收创建后的响应数据。</p></li></ul></li></ul></li><li><p><strong>select<em>data</em>from<em>database(data</em>name, db_name, callback)</strong><br/>选择数据表中的数据。</p><ul><li><p>参数：</p><ul><li><code>data_name</code>: 数据表名称字符串。</li><li><code>db_name</code>: 数据库名称字符串。</li><li><p><code>callback</code>: 回调函数，接收选择结果。</p></li></ul></li></ul></li><li><p><strong>show<em>stratures</em>from<em>database(db</em>name, callback)</strong><br/>显示数据库的结构，包括所有数据表及其结构和索引。</p><ul><li>参数：<ul><li><code>db_name</code>: 数据库名称字符串。</li><li><code>callback</code>: 回调函数，接收包含数据库结构的 JSON 数据。</li></ul></li></ul></li></ol>

<h4>注意事项</h4>

<ul><li>所有方法调用都依赖于 <code>remote_server</code> 变量，确保该变量被正确设置。</li><li><code>invoke_api</code> 方法用于内部调用其他方法，通常不需要外部直接调用。</li><li>大部分方法都是异步的，通过回调函数来处理结果。</li></ul>

<h3>调用文档</h3>

<h4>示例</h4>

<code style="width: calc(70%-100px); display: block; padding: 10px; margin-bottom: 20px; font-size: 16px; line-height: 1.5; background-color: #f7f7f7; border-radius: 5px;;">
    const dbAPI = new DBAPI();
<br />
dbAPI.set_login('myUsername', 'myPassword');
<br />

dbAPI.show_databases((data) => {
    <br />
    console.log('Databases:', data);
    <br />
});

<br />
dbAPI.create_database('myDatabase', (data) => {
    <br />
    if (data.success) {
        <br />
        console.log('Database created successfully.');
        <br />
    } else {
        <br />
        console.error('Failed to create database:', data.message);
        <br />
    }
    <br />
});<br />
</code>
<p>以上是 <code>DBAPI</code> 类的使用示例，展示了如何设置登录信息、显示所有数据库以及创建数据库。类似地，可以调用其他方法来进行更多的数据库操作。</p>

<style>
    code {
        background-color: #e7e7e7;
        border-radius: 3px;
        padding: 2px 5px;
        font-size: 14px;

        font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif;

    }

    h3 {
        margin-top: 20px;
        font-size: 30px;
    }

    h4 {
        margin-top: 10px;
        font-size: 20px;
    }

    ul {
        margin-top: 5px;
        margin-bottom: 5px;
    }


</style>
</div>